草庐IT

Ruby File 类和方法

全部标签

c# - 为什么 Find 方法生成 TOP(2) 查询?

我正在使用EntityFramework6.1,我有这样的代码:Brandb;using(varctx=newKokosEntities()){try{b=ctx.Brands.Find(_brands[brandName].Id);returnb;}catch(Exceptionex){_logger.Log(LogLevel.Error,ex);}}这会产生:N'SELECTTOP(2)[Extent1].[Id]AS[Id],[Extent1].[Name]AS[Name],[Extent1].[OpenCartId]AS[OpenCartId]FROM[dbo].[Brands

c# - 在 visual studio 的快速版本中进行 TDD 的最佳方法(例如 VB Express)

我一直在为我目前正在编写的一个应用程序(OLE对象的OLE包装器)做一些测试驱动的开发。唯一的问题是我正在使用VisualStudio的快速版本(目前),目前我使用的是VBexpress,但有时我使用C#express。是否可以在express版本中进行TDD?如果是这样,最重要的是什么?干杯。编辑。看起来我将不得不购买完整的visualstudio以便我可以进行集成的TDD,希望预算中有钱购买副本:)。现在我想我会像大家说的那样使用Nunit。 最佳答案 Nunit似乎可以独立工作,为什么不尝试使用VisualStudio的快速版

c# - 反射说接口(interface)方法在实现类型中是虚拟的,而实际上它们不是?

我在单元测试中有以下代码publicboolTestMethodsOf(){varimpl=typeof(T);varvalid=true;foreach(varifaceinimpl.GetInterfaces().Where(i=>typeof(I).IsAssignableFrom(i))){varmembers=iface.GetMethods();foreach(varmemberinmembers){Trace.Write("Checkingifmethod"+iface.Name+"."+member.Name+"isvirtual...");varimplMember=

c# - 没有通用扩展方法的类型推断

我有以下方法:publicstaticTEventInvocatorParametersUntil(thisTEventInvocatorParametersp,FuncbreakCond)whereTEventInvocatorParameters:EventInvocatorParameterswhereTEventArgs:EventArgs{p.BreakCondition=breakCond;returnp;}还有这个类publicclassEventInvocatorParameterswhereT:EventArgs{publicFuncBreakCondition{ge

c# - 有没有一种方法可以在不使用构造函数的情况下初始化结构的成员?

我有一个包含两个列表的结构:structMonthData{publicListFrontline;publicListLeadership;}但是,我想在创建结构时初始化两者。如果我尝试:structMonthData{publicListFrontline=newList();publicListLeadership=newList();}然后我得到:Error23'MonthData.Frontline':cannothaveinstancefieldinitializersinstructs...由于结构不能有无参数的构造函数,我也不能只在构造函数中设置它。到目前为止,我只能看

c# - AsNoTracking 使用 LINQ 查询语法而不是方法语法

我有兴趣在我的LINQ选择查询中使用AsNoTracking来提高性能。我将EntityFramework5与CodeFirst结合使用。但是,我的所有查询都是使用LINQ查询语法编写的,并且所有AsNoTracking示例都是使用Method语法显示的。我知道AsNoTracking是为Method语法创建的,但如何使用Query语法实现相同的目的? 最佳答案 您将AsNoTracking()应用于DbSet:varresult=(frompersoninctx.People.AsNoTracking()selectperson)

c# - 使用调用构造函数的静态方法是否有任何好处(语义或其他)?

我刚刚更新了VisualStudio2013,我注意到在MVC应用程序的项目模板中,ApplicationDbContext类现在有一个只调用构造函数的静态方法:publicstaticApplicationDbContextCreate(){returnnewApplicationDbContext();}这对我来说似乎很困惑,但我想有一些语义原因我现在应该开始使用ApplicationDbContext.Create()而不是newApplicationDbContext()。这样做有什么好处吗? 最佳答案 其实。是的。在您的特

c# - 记录从捕获异常的方法外部捕获的异常

我有这样的方法:publicTResultDoSomethingWithLogging(FuncsomeAction){try{returnsomeAction.Invoke();}catch(Exceptionex){LogException(ex)throw;}这个方法的用法如下:varresult=DoSomethingWithLogging(()=>Foo());我还想记录在Foo()中捕获的异常。我不能在Foo的catch中使用throw。如何捕获此类异常?示例:publicstaticstringFoo(){try{return"Foo";}catch(Exception)

c# - C# 解释中的部分方法

我很难理解部分方法的用法。您能否提供一个与LINQ或类似数据库无关的示例?部分方法是否与我们在WinForms中并在它后面编码时一样,如果我们使用一个方法,它会被编译,但如果我们不使用,它就会被编译器删除?对吗? 最佳答案 当你有一个分部类时,你可以在一个文件中定义方法的签名并在另一个文件中实现。那是一种部分方法。所以在一个文件中你有:partialclassFoo{partialvoidBar();//noimplementationpublicvoidDoSomething(){//dosomestuff...Bar();//t

c# - 如何确定 MethodInfo 是否是基方法的重写

我正在尝试确定我从类型实例上的GetMethod调用中获得的MethodInfo对象是由该类型还是由其基础实现的。例如:Foofoo=newFoo();MethodInfomethodInfo=foo.GetType().GetMethod("ToString",BindingFlags|Instance);ToString方法可以在Foo类中实现,也可以不实现。我想知道我是否获得了foo实现?RelatedquestionIsitpossibletotellifa.NETvirtualmethodhasbeenoverrideninaderivedclass?